import * as actionTypes from "./constants";
import {getTopBanners} from "@/services/recommendRequest";
import {getHotRecommends , getNewAlbum} from "@/services/recommendRequest";

//此时,我们定义一个action,然后通过 dispatch 来开始请求数据
const changeTopBannerAction=(res)=>({//定义一个方法,获取数据 即 action
  type:actionTypes.CHANGE_TOP_BANNERS,
  topBanners: res.data.data.blocks[0].extInfo.banners,//保存轮播图中的真正数据
})

export const getTopBannerAction=()=>{
  return dispatch=>{
    getTopBanners().then((res)=>{//获取services中网络请求方法,将数据进行派发
      // console.log(res.data.data.blocks[0].extInfo.banners);
      dispatch(changeTopBannerAction(res));//开始派发action
    })
  }
}

//热门推荐的action
export const changeHomeRecommendsAction=(res)=>({
  type:actionTypes.CHANGE_HOME_RECOMMEND,
  hotRecommends:res.data.result,
})

export const getHomeRecommendsAction=()=> {//获取数据
  return dispatch=>{
    getHotRecommends().then((res)=>{
      // console.log(res.data.result);
      dispatch(changeHomeRecommendsAction(res));
      //如果，dispatch中执行的时方法，就会执行方法，如果是对象,执行reducer中的多分支
    })
  }
}

//新碟上架的action
export const changeNewAlbumAction=(res)=>{
  return{
    type:actionTypes.CHANGE_NEW_ALBUM,
    newAlbums:res.data.products,
  }
}
export const getNewAlbumAction=(limit)=>{
  return dispatch=>{
    getNewAlbum(limit).then((res)=>{
        //在这里执行我们网络请求
      console.log(res);
      dispatch(changeNewAlbumAction(res));//改变值，并且发送
    });
  }
}





